const user_schema = require('../user/schema')

const joi = require('@hapi/joi')
const id = joi.number().integer().min(1).required()
const nickname = joi.string().min(2).max(10).required()
const email = joi.string().email().required()
const oldPwd = user_schema.username_password.body.password
// 解读：
// 1. joi.ref('oldPwd') 表示 newPwd 的值必须和 oldPwd 的值保持一致
// 2. joi.not(joi.ref('oldPwd')) 表示 newPwd 的值不能等于 oldPwd 的值
// 3. .concat() 用于合并 joi.not(joi.ref('oldPwd')) 和 password 这两条验证规则
const newPwd = joi.not(joi.ref('oldPwd')).concat(oldPwd)
// dataUri() 指的是如下格式的字符串数据：
// 
const avatar = joi.string().dataUri().required()
module.exports = {
  id_nickname_email: {
    body: {
      id,
      nickname,
      email,
      username:joi.string()
    }
  },
  old_new_pwd: {
    body: {
      oldPwd,
      newPwd
    }
  },
  avatar: {
    body: {
      avatar
    }
  }
}
